From 7ca4a94768622bc68d78bad7e60eca5624ddd8e8 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Thu, 6 Feb 2020 14:21:10 +0000 Subject: [PATCH] widget: Add private accessor to event controllers --- gtk/gtkwidget.c | 18 ++++++++++++++++++ gtk/gtkwidgetprivate.h | 3 +++ 2 files changed, 21 insertions(+) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 5072e46c4e..8b3f4b30fb 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -12023,6 +12023,24 @@ gtk_widget_reset_controllers (GtkWidget *widget) } } +GList * +gtk_widget_list_controllers (GtkWidget *widget, + GtkPropagationPhase phase) +{ + GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget); + GList *res = NULL, *l; + + for (l = priv->event_controllers; l; l = l->next) + { + GtkEventController *controller = l->data; + + if (gtk_event_controller_get_propagation_phase (controller) == phase) + res = g_list_prepend (res, controller); + } + + return g_list_reverse (res); +} + static inline void gtk_widget_maybe_add_debug_render_nodes (GtkWidget *widget, GtkSnapshot *snapshot) diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h index 2541d35fc6..cd150136ee 100644 --- a/gtk/gtkwidgetprivate.h +++ b/gtk/gtkwidgetprivate.h @@ -302,6 +302,9 @@ gboolean gtk_widget_has_size_request (GtkWidget *widget); void gtk_widget_reset_controllers (GtkWidget *widget); +GList * gtk_widget_list_controllers (GtkWidget *widget, + GtkPropagationPhase phase); + gboolean gtk_widget_query_tooltip (GtkWidget *widget, gint x, gint y, -- 2.30.2